Konfiguration der generischen CiA402-Achse
CODESYS SoftMotion stellt Antriebstreiber für verschiedene Antriebe bereit. Falls für Ihren verwendeten CiA402-Antrieb kein spezifischer Treiber verfügbar ist, können Sie die generische CiA402-Achse nutzen.
Die Kompatibilität und das Verhalten der generischen Achse hängen jedoch maßgeblich von der CiA402-Implementierung im jeweiligen Antrieb ab. In der Praxis hat sich gezeigt, dass verschiedene Hersteller den CiA402-Standard unterschiedlich auslegen – insbesondere im Hinblick auf die Fehlerbehandlung und die Unterstützung von Endschaltern.
Daher kann nicht garantiert werden, dass die generische CiA402-Achse in jedem Fall korrekt oder vollständig mit einem bestimmten Antrieb funktioniert.
Anmerkung
Der generische CiA402-Treiber unterstützt bis zu 8 Achsen, falls die Gerätebeschreibung des Antriebs keine Anzahl vorgibt. Andernfalls wird die in der Gerätebeschreibung definierte Anzahl von Achsen unterstützt.
CANopen: Die Anzahl der möglichen Achsen hängt von den Profilen der logischen Geräte in der EDS-Datei ab (Objekt 1000H
und 67FFH + X * 800H
, X
= Nummer des logischen Geräts). Weitere Details finden Sie in der Norm CANopen CiA301.
EtherCAT: Die Anzahl der möglichen Achsen hängt von den definierten CiA402-Kanälen (CoE DS402Channels) in der ESI-Datei ab.
Eine Anpassung der EDS- oder ESI-Datei muss durch den Gerätehersteller erfolgen.
Verwendete Objekte während der Inbetriebnahme
Während der Inbetriebnahme wird auf folgende Objekte zugegriffen, wenn dies vom Gerät unterstützt wird.
Objekt | Lese-/Schreibzugriff | (M)andatory: verpflichtend/ (O)ptional | Kommentar |
---|---|---|---|
| lesen | M | Das niederwertige Wort muss 402 sein. Ansonsten Abbruch. |
| lesen | O | |
| lesen | O | |
| lesen | O | |
| lesen | O | |
| lesen | O | |
| lesen | O | |
| schreiben | Wenn Parameter | |
| schreiben | Wenn Parameter | |
| lesen | O |
Verwendete Objekte während des Betriebs
Die folgenden Objekte werden abhängig von den verwendeten Funktionen während des Betriebs verwendet:
0x603F:00
, 0x6040:00
, 0x6041:00
, 0x6060:00
, 0x6061:00
, 0x6062:00
, 0x6064:00
, 0x606B:00
, 0x606C:00
, 0x6074:00
, 0x6077:00
, 0x6078:00
, 0x607C:00
, 0x60B1:00
, 0x60B2:00,
0x60B8:00
0x60B9:00
, 0x60BA:00
, 0x60BB:00
, 0x60BC:00
, 0x60BD:00
, 0x60F4:00
.
Erweiterte Konfiguration
Wichtig
Sie müssen die Option Generische Konfigurationseditoren anzeigen im Dialog: Optionen: Geräteeditor aktivieren, damit die Registerkarte mit den Parametern angezeigt wird.
Sie können mit folgenden Parametern den Ablauf des CiA402-Zustandsautomaten detailliert beeinflussen.
CiA402 Parameter | Beschreibung |
---|---|
|
|
|
Hinweis: Ist diese Option auf |
| Nur relevant, wenn
|
| Nur relevant when Bit-Maskierung der Zustände, für die die sofortige Deaktivierung eingeschaltet ist:
Beispiel: Wenn |
| Anzahl der Zyklen, die im Zustand |
| Anzahl der Zyklen, die die Zustandsmaschine im Zustand |
| Anzahl der Zyklen zu Beginn von |
| Anzahl der Zyklen, die das System wartet, bis der Antrieb einen Befehl zur Zustandsänderung ausgeführt hat. Wenn der Antrieb fehlschlägt, schaltet das System zurück auf |
|
Beachten Sie, dass der Zustandsmaschine in jedem Fall mindestens |
|
|
|
|
| Dieses |
|
|
|
|
|
|
|
|
| Im Zustand |
| Legt fest, ob Bit 4 des Statusworts (Spannung freigegeben) |
| Legt fest, ob Bit 2 des Statusworts (Betrieb freigegeben) |
| Der |
| Der |
| Der |
|
TRUE: Der Wechsel von |
Touch Probe
Der Funktionsbaustein MC_TouchProbe
benötigt eine TRIGGER_REF
als Eingang. TRIGGER_REF.iTriggerNumber
hat bei der generischen CiA402-Achse folgende Bedeutung:
TRIGGER_REF.iTriggerNumber | Bedeutung |
---|---|
0 | Touch Probe 1, positive Flanke |
1 | Touch Probe 1, negative Flanke |
2 | Touch Probe 2, positive Flanke |
3 | Touch Probe 2, negative Flanke |
Fehlerdiagnose: Antrieb lässt sich nicht über MC_Power
einschalten
Die generische Achse erwartet folgende Bits im Statuswort, um MC_Power.Status = TRUE
zurückzugeben:
Bit 0 (ready to switch on)
Bit 1 (switched on)
Bit 2 (operation enabled)
Bit 5 (quick stop)
Bit 12
Bit 12 wird jedoch nicht von jedem Antrieb gesetzt. Wenn der Antrieb das Bit nicht setzt, kann der Parameter
_bCheckBit12InPositionMode
der generischen Achse aufFALSE
gesetzt werden.